package com.cjf.aop.enums;

import android.support.annotation.IntDef;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 线程注解类型
 * created by cjf
 * on: 2020/3/19
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD,ElementType.METHOD, ElementType.PARAMETER, ElementType.LOCAL_VARIABLE})
@IntDef({ThreadType.MAIN, ThreadType.IO_Single, ThreadType.IO_Fixed, ThreadType.IO_Disk, ThreadType.IO_Network})
public @interface ThreadType {
    /**
     * 主线程
     */
    int MAIN = 0;
    /**
     * 单线程池
     */
    int IO_Single = 1;
    /**
     * 多线程池
     */
    int IO_Fixed = 2;
    /**
     * 磁盘读写线程池(本质上是单线程池）
     */
    int IO_Disk = 3;
    /**
     * 网络请求线程池(本质上是多线程池）
     */
    int IO_Network = 4;

}
